<?php
/**
 * User: tridungpham
 * Date: 7/10/11
 * Time: 1:04 AM
 */
 
class VideosModel extends Model
{
    function __construct()
    {
        $this->loadTable('videos');
        $this->loadLibrary('PostWrapper');
    }

    function getVideoList()
    {
        return $this->tables['videos']->get(NULL,array('order' => 'v_order'));
    }

    function handleAdd()
    {
        
        $eMessage = null;
        $input = PostWrapper::getInstance();

        if(strlen($input->title) == 0 || strlen($input->title) > 1024)
            $eMessage[] = 'Tiêu đề không được để trống hoặc vượt quá 1024 kí tự';

        if (strlen($input->url) == 0 || strlen($input->url) > 1024)
            $eMessage[] = 'Đường dẫn video không được để trống hoặc vượt quá 1024 kí tự';

        if(!is_null($eMessage))
        {
            $result['errors'] =& $eMessage;
            $result['input'] =& $input;
            return $result;
        }

        $this->tables['videos']->set('title',$input->title);
        $this->tables['videos']->set('url',$input->url);
        $this->tables['videos']->set('status',$input->status);
        $this->tables['videos']->set('v_order',0);
        $this->tables['videos']->insert();
        $result['message'] = 'Thêm video thành công !!';
        return $result;
    }

    function handleEdit()
    {
        $eMessage = null;
        $input = PostWrapper::getInstance();

        if (strlen($input->title) == 0 || strlen($input->title) > 1024)
            $eMessage[] = 'Tiêu đề không được để trống hoặc vượt quá 1024 kí tự';

        if (strlen($input->url) == 0 || strlen($input->url) > 1024)
            $eMessage[] = 'Đường dẫn video không được để trống hoặc vượt quá 1024 kí tự';

        if (!is_null($eMessage))
        {
            $result['errors'] =& $eMessage;
            $result['input'] =& $input;
            return $result;
        }

        $this->tables['videos']->set('title', $input->title);
        $this->tables['videos']->set('url', $input->url);
        $this->tables['videos']->set('status', $input->status);
        $this->tables['videos']->set('v_order', 0);
        $this->tables['videos']->update(array('id' => $input->id));
        $result['message'] = 'Sửa video thành công !!';
        return $result;
    }
    
    function getVideo($id)
    {
        return $this->tables['videos']->get(array('id' => $id));
    }

    function handleRemove($id)
    {
        $input = PostWrapper::getInstance();
        $this->tables['videos']->remove(array('id' => $id));
        return TRUE;
    }

    function handleMassAction()
    {
        $input = PostWrapper::getInstance();
        switch($input->mass_action)
        {
            case 'remove':
                {
                    foreach($input->cb as $cb)
                    {
                        $this->handleRemove($cb);
                    }
                }
                break;

            case 'update_order':
                {
                    foreach($input->id as $id)
                    {
                        $inputId = 'v' . $id;
                        $this->tables['videos']->update(array('id' => $id),array('v_order' => $input->$inputId));
                    }
                }
        }
    }
}